This document might be outdated relative to the documentation in English. For the latest updates, please refer to the documentation in english.

Gestione dei file statici in Express

Per gestire i file statici, quali immagini, file CSS e file JavaScript, utilizzare la funzione middleware integrata express.static in Express.

The function signature is:

express.static(root, [options])

The root argument specifies the root directory from which to serve static assets. For more information on the options argument, see express.static.

Ad esempio, utilizzare il seguente codice per gestire le immagini, i file CSS e i file JavaScript nella directory denominata public:

app.use(express.static('public'))

Ora, è possibile caricare i file che si trovano nella directory public:

http://localhost:3000/images/kitten.jpg
http://localhost:3000/css/style.css
http://localhost:3000/js/app.js
http://localhost:3000/images/bg.png
http://localhost:3000/hello.html
Express ricerca i file relativi alla directory statica, pertanto il nome della directory statica non è parte dell'URL.

Per utilizzare più directory di asset statiche, richiamare la funzione middleware express.static più volte:

app.use(express.static('public'))
app.use(express.static('files'))

Express ricerca i file nell’ordine in cui sono state impostate le directory statiche con la funzione middleware express.static.

Note

For best results, use a reverse proxy cache to improve performance of serving static assets.

To create a virtual path prefix (where the path does not actually exist in the file system) for files that are served by the express.static function, specify a mount path for the static directory, as shown below:

app.use('/static', express.static('public'))

Ora, è possibile caricare i file che si trovano nella directory public dal prefisso del percorso /static.

http://localhost:3000/static/images/kitten.jpg
http://localhost:3000/static/css/style.css
http://localhost:3000/static/js/app.js
http://localhost:3000/static/images/bg.png
http://localhost:3000/static/hello.html

Tuttavia, il percorso fornito per la funzione express.static è relativo alla directory dalla quale è possibile avviare il processo node. Se si esegue l’applicazione express da un’altra directory, è preferibile utilizzare il percorso assoluto della directory che si desidera gestire:

const path = require('path')
app.use('/static', express.static(path.join(__dirname, 'public')))

For more details about the serve-static function and its options, see serve-static.

Previous: Basic Routing     Next: More examples

Edit this page